Method and apparatus for transmitting and downloading setup information

ABSTRACT

Multiple channel maps are embedded in a television transmission and the appropriate channel corresponding to the particular television service used by the viewer is downloaded for use with the television receiver. Each channel map is accompanied by a channel map identifier which identifies the source of the television transmission and a geographic identifier. The source of a television transmission is automatically detected by monitoring the radio-frequency spectrum allocations of telecast stations. The geographic area identifier is determined by comparison with a user inputted geographic area identifier. The channel map having a channel map identifier corresponding to the detected television transmission source and the user inputted geographic area identifier is downloaded and stored for future use.

CROSS-REFERENCES

[0001] The present application is a continuation of patent applicationSer. No. 08/694,867, filed on Aug. 9, 1996, pending, which is acontinuation-in-part of patent application Ser. No. 08/335,248, filedNov. 7, 1994, entitled “A Remote Controller for Setting Clocks inAppliances”, now abandoned; and a continuation-in-part of patentapplication Ser. No. 08/615,567, filed Mar. 11, 1996, entitled “Methodand Apparatus for Controlling a Television Tuner”, now abandoned, whichis a continuation of patent application Ser. No. 08/401,008, filed Mar.8, 1995, now abandoned. The present application also claims priority ofProvisional application serial No. 60/010,023, filed Jan. 16, 1996,entitled “Method and Apparatus for Detecting Type of Telecast Signal”;and Provisional application serial No. 60/017,703 filed May 23, 1996,entitled “Method and Apparatus for Detecting Type of Telecast Signal.”All of the above-identified applications being incorporated herein byreference as though set forth in full.

FIELD OF INVENTION

[0002] The present invention relates to transmission and reception ofdata embedded in a television signal, and more particularly, to anautomated method and apparatus for transmitting multiple channel maps ina television signal and downloading the channel map corresponding to theparticular television service used by the viewer.

BACKGROUND OF THE INVENTION

[0003] In the field of television broadcasting, radio-frequency (“RF”)spectrum allocations are used to define the manner in which the RFspectrum is to be occupied by the television transmission. By way ofexample, in the United States, television transmissions are divided intotwo frequency ranges referred to as very-high-frequency (VHF) andultra-high-frequency (UHF) regions. The VHF region lies roughly in thefrequency range of 40 MHz to 200 MHz, while the UHF region extends fromabout 470 MHz to almost 1.0 GHz. The precise channel and bandwidthassignments include 68 channels, each occupying 6 MHz.

[0004] Each television broadcast station (“television station”) occupiesone channel on the RF spectrum. These channel allocations, however, varydepending upon the particular television service, i.e., satellitetransmission, cable service, and over-the-air broadcasts, used by theviewer and the specific geographic area of service. Moreover, each cableservice will generally have its own allocations of channels. The tablethat relates these television stations to their respective channelallocations for any particular television service is sometimes referredto as a channel map. FIG. 1 illustrates examples of three differentchannel maps for an over-the-air (“OTA”) broadcast, and two cablecompanies, Cable Co. A and Cable Co. B.

[0005] With conventional television technology, a printed program guidehaving the appropriate channel map must be consulted to determine thechannel to which the tuner must be set to receive a particulartelevision station. To facilitate this process for the viewer,commercial remote controllers are available equipped with memory forstoring the channel map applicable to the particular television servicefor a given geographic area. The viewer must first set up the remotecontroller by keying in the entire channel map from the printed programguide manually. Then, when the viewer keys in a particular televisionstation, the controller accesses the channel mapping memory, convertsthe television station to the applicable channel, and sets the tuneraccordingly.

[0006] Recently with the advent of systems to set a video cassetterecorder (VCR) for unattended recording by means of code numbers, suchas used in a commercial system called VCR PLUS+™ or with an onscreencursor to select programs from a list displayed on the televisionscreen, channel mapping has become a necessity. In these systems, theappropriate channel map must be stored in memory so that when the viewerdesignates a name of a television station by code number or cursor, thecorresponding channel is retrieved from the memory and used toautomatically set the tuner.

[0007] While these channel mapping features have proven to be aconvenient way for programming a VCR, the viewer must still manuallyenter on the remote controller the entire channel map for the particulartelevision service used by the viewer and the geographic locationserved. This process increases the complexity of programming the VCR anddiscourages the use of the unattended recording feature by the viewer.

[0008] There have been attempts to automate the process of loading theapplicable map into memory. U.S. Pat. No. 4,894,714 to Christisdiscloses the transmission of a channel map from a televisiontransmitter station as a teletext page. The teletext page is downloadedto a channel mapping memory at the television receivers served by thattransmitter. This arrangement requires that each and every cable,satellite, or broadcast service transmit its own channel map whichoccupies a significant portion of the transmission bandwidth.

[0009] Accordingly, there is a current need for a method and apparatusthat can reduce the volume of data required to implement the channelmapping function. It is desirable that this method and apparatus beautomated, requiring minimal user interface.

SUMMARY OF THE INVENTION

[0010] The present invention is directed to an apparatus and method thatsatisfies this need. There is, therefore provided, according to apreferred embodiment, an apparatus and method for generating a channelmap from data embedded in a television transmission. The data istransmitted on at least one channel of the television transmission andincludes a plurality of channel maps, each channel map having a channelmap identifier associated therewith.

[0011] Initially, the source of the television transmission isautomatically detected by monitoring a portion of the radio-frequencyspectrum allocations of the television stations. A front end tuner isprovided for passing a selected channel of the television transmission.A detector, coupled to the tuner output, detects whether a televisionstation has been allocated to each of the channels selected by,preferably, monitoring the stability of the horizontal sync pulses. Acontroller is coupled to the tuner for selecting the channels to bepassed, and determining the source of the television transmission basedon the detected television station allocations.

[0012] Once the television source is detected, the appropriate channelmap can be extracted from the television transmission based on thegeographic location of the viewer. The microcontroller commands thetuner to scan the channels and lock on a channel having the data. Themicrocontroller includes determines the channel map identifier based ona geographic location of the apparatus, and extracts the channel mapcorresponding to the determined channel map identifier.

BRIEF DESCRIPTION OF THE DRAWINGS

[0013] These and other features, aspects, and advantages of the presentinvention will become better understood with regard to the followingdescription, appended claims, and accompanying drawings where:

[0014]FIG. 1 is a diagram representative of three channel maps inaccordance with a preferred embodiment of the present invention;

[0015]FIG. 2 is a schematic block diagram of a network distributionsystem in accordance with a preferred embodiment of the presentinvention;

[0016]FIG. 3 is a schematic block diagram of a television stationtransmitter equipped with data insertion equipment for transmittingchannel mapping information in accordance with a preferred embodiment ofthe present invention;

[0017]FIG. 4 is a schematic block diagram of a Channel Map Decoder atthe point of reception of the television transmission in accordance witha preferred embodiment of the present invention;

[0018]FIG. 5 is a diagram illustrating the data format in accordancewith a preferred embodiment of the present invention;

[0019]FIG. 6 is a schematic block diagram of a cable distributionnetwork in accordance with a preferred embodiment of the presentinvention;

[0020]FIG. 7 is diagram illustrating several data blocks in accordancewith a preferred embodiment of the present invention;

[0021]FIG. 8 is a diagram representative of a source map data packet, anintermediate channel map packet, and a final merged channel map inaccordance with a preferred embodiment of the present invention;

[0022]FIG. 9 is a diagram illustrating the creation of the final mergedchannel map from the data packets of FIG. 8 in accordance with apreferred embodiment of the present invention;

[0023]FIG. 10 is a diagram representative of a network distributionsystem in accordance with a preferred embodiment of the presentinvention;

[0024]FIG. 11 is a table representative of a host schedule packet inaccordance with a preferred embodiment of the present invention;

[0025]FIG. 12 is a diagram representative of a network distributionsystem in accordance with a preferred embodiment of the presentinvention;

[0026]FIG. 13 is a table representative of a channel map selectionpacket in accordance with a preferred embodiment of the presentinvention;

[0027]FIG. 14 is a diagram representative of a host schedule packet withcurrent GCH bits in accordance with a preferred embodiment of thepresent invention;

[0028]FIG. 15 is a table representative of a host assignment packet withMulti-OTA bits in accordance with a preferred embodiment of the presentinvention;

[0029]FIG. 16 is an electrical schematic block diagram of the ChannelMap Decoder in accordance with a preferred embodiment of the presentinvention;

[0030]FIG. 17 is a flow diagram illustrating the execution of thechannel map downloading program in the Channel Map Decoder in accordancewith a preferred embodiment of the present invention;

[0031]FIG. 18 is a flow diagram illustrating the portion of the channelmapping downloading program pertaining to the determination of thesource of the television transmission in accordance with a preferredembodiment of the present invention; and

[0032]FIGS. 19A, 19B and 19C are flow diagrams illustrating a portion ofthe channel map downloading program pertaining to the processing of datapackets in accordance with a preferred embodiment of the presentinvention.

DETAILED DESCRIPTION

[0033] In the preferred embodiment of the present invention, channelmapping information is transmitted over one or more designatedtelevision stations known as “physical hosts.” The channel mappinginformation transmitted by each physical host includes the channel mapsfor most or all of the television services carrying that physical host.Accompanying each channel map is a channel map identifier which uniquelyidentifies the channel map applicable to each television service. Thechannel map identifiers are preferably postal directory codes(“zipcodes”) because viewers in the same local geographic area generallyreceive the same OTA broadcast or subscribe to the same cable service.Moreover, if several different zipcode areas share the same channel map,further improvement in bandwidth performance can be achieved by forminga zipcode group and sending a single common channel map to that groupedarea. Alternatively, the channel map identifiers could be unique codesassigned to the various cable, satellite and broadcast services.

[0034] In theory, a single physical host, such as a national cablestation, could provide channel mapping information to the entirecountry. As a practical matter, however, the use of a single physicalhost to service the entire nation is not very feasible due mainly todata bandwidth limitations. This is because there are so many differentcable services throughout the United States, each having a uniquechannel map, that the volume of data would be so great that a singlephysical host could not manage all this data while still maintaining areasonable data repetition rate. Accordingly, a broadcast networkdistribution system must be established using several physical hosts todeliver channel mapping information across the nation. Preferably, atleast one “local physical host” is set up to serve each majormetropolitan area. A single “national physical host” may be used toservice the remainder of the country including smaller and remotecities.

[0035]FIG. 2 shows a typical broadcast network distribution systemutilizing both local and national physical hosts. In this embodiment,the national physical host is a national cable station 10, such as WGN,which serves the smaller and rural cities throughout the nation. Themajor metropolitan areas such as Los Angeles 11, New York 12, Chicago13, Detroit 14, and Atlanta 16 are served by local physical hosts. Forexample, in the Los Angeles area a local physical host 18, such as KABC,serves the entire metropolitan area. In this example, both the nationalcable service and local physical host are coupled to the appropriatecable services 20 a-c and combined with television signals from a numberof other television stations 22 a-c. Each cable service 20 a-c has itsown channel allocations, and as a result, each cable service has its ownchannel map. The combined television signals occupying the RF spectrumfor each cable service 20 a-c are coupled to the appropriate cable trunk24 a-c for distribution to the individual subscribers.

[0036] In addition to the above described cable distribution network forthe Los Angeles area, the local physical host KABC 18, along with one ormore local television stations, provide OTA broadcasts, eachbroadcasting at a different carrier frequency. Consequently, a separatechannel map for OTA broadcasts should be included in the channel mappinginformation of the local physical host.

[0037] A typical physical host, whether it being a national or localhost, is shown in FIG. 3. The physical host is similar to that of anyconventional television station facility having a base band video signalfrom a video processor 30 modulated onto a subcarrier by an RF modulator32 and coupled to an antenna (not shown) or cable trunk (not shown)through an RF amplifier 33 and a solid-state driver 34. However, unlikeconventional television station facilities, the physical host isequipped with data insertion equipment 28 for embedding channel mapinformation into the base band video signal. Preferably, the channel mapinformation is inserted on selected empty lines of the vertical blankinginterval (“VBI”) of a standard television signal at the video processor30 to promote commercialization. It is also desirable to transmit thechannel mapping information in the same format as closed caption data,and confine the channel mapping information to one VBI line from 10-20,either single field or both fields. Under mandatory FCC requirementseffective July 1993, color televisions having a size 13″ and greatermust provide a closed caption decoder. Thus, this arrangement lowers theoverall implementation cost by reducing the peripheral hardwarerequirements at the receiving end of the transmission since the existingclosed caption decoder can be used. Alternatively, the data format maybe accelerated to twice the bit rate or more to accommodate bandwidthlimitations. Moreover, the channel mapping information may be insertedon multiple VBI lines from 10 to 20.

[0038] Caption data decoding is known in the art and described in thefollowing specifications, which are hereby incorporated by referenceherein: Title 47, Code of Federal Regulations, Part 15 as amended byGEN. Docket No. 91-1; FCC 91-119; “CLOSED CAPTION DECODER REQUIREMENTSFOR THE TELEVISION RECEIVERS”; Title 47, C.F.R., Part 73.682 (a) (22),Caption Transmission format; Title 47, C.F.R. Part 73.699, FIG. 6;“TELEVISION SYNCHRONIZING WAVE FORM”; Title 47, C.F.R., Part 73.699,FIG. 17a; “LINE 21, FIELD 1 DATA SIGNAL FORMAT”; and PBS EngineeringReport No. E-7709-C, “TELEVISION CAPTIONING FOR THE DEAF: SIGNAL ANDDISPLAY SPECIFICATIONS”.

[0039] To successfully download the appropriate channel map, a ChannelMap Decoder is required at the point of reception. FIG. 4 shows anelectrical block diagram of a preferred embodiment of the Channel MapDecoder integrated into a conventional television receiver.Alternatively, the Channel Map Decoder may be integrated into a VCR orhoused in a stand alone unit. A UHF/VHF tuner 38 is positioned at thefront end of the Channel Map Decoder for passing a selected channel ofthe television transmission. The tuner 38, which can be any conventionaltuner in the art, should provide amplification, downconversion anddemodulation, as well as frequency tuning. The tuner 36 is coupled by anintermediate frequency (“IF”) amplifier 38 to a video detector 40. Abase band video signal at the output of the video detector 40 is coupledto a television monitor 42 for presentation to the viewer. The tuner 36is set by a signal from a microcontroller 44 to the desired channelnumber. A remote controller 46 is coupled to the microcontroller 44,typically by an infrared communication link, to provide viewer controlof the television channels.

[0040] The channel mapping function is controlled by a program executedby the microcontroller 44. Initially, the microcontroller 44 controlsthe tuner 36 to scan the RF spectrum in search of channel mappinginformation in the VBI portion of the television signal. A VBI decoder48 positioned at the output of the tuner extracts any data detected inthe VBI and couples that data to the microcontroller 44 for processing.Since the channel mapping information can be present on any VBI line,the microcontroller 44 must be capable of programming the VBI to searchthrough all VBI lines. This provides greater versatility and improvesbandwidth performance. The complexity of the Channel Map Decodercircuitry can be reduced, however, by limiting the transmission ofchannel mapping information to a designated VBI line in either one orboth fields. Any data extracted by the VBI decoder 48 is processed todetermine whether it conforms to a designated format, and if so, whetherany channel map information has a channel map identifier correspondingto the television service subscribed to by the viewer. If a channel mapidentifier is recognized by the microcontroller 44, the accompanyingchannel map is downloaded into memory 50.

[0041] The format of the channel mapping information generated by thephysical host comprises VBI encoded “data packets,” with each datapacket being divided into one or more “data blocks.” Each data block isencapsulated with synchronization code, error detection code, andaddress code by means well known in the art. In some cases it may bepreferable to encrypt or scramble the data packets. In the describedembodiment thus far, each channel map would be packaged as a data blockand all the data blocks transmitted as a single channel map packet. Anexemplary data block for a channel map packet is shown in FIG. 5. Thedata block is arranged into a serial format of data bytes representativeof a start code 52, a packet type 54, the number of blocks in the datapacket 56, the block number 58, a channel map identifier 60, a channelmap 62, a checksum 64 and a stop code 66.

[0042] As mentioned above, preferably, each channel map identifiercorresponds to a zipcode or group of zipcodes. For example, as shown inFIG. 6, viewers located in the zipcodes 90000-90500 (75) and 90300 (76)are served by Cable Co. A 74 and viewers located in the 90210 zipcode 78are served by Cable Co. B 77. Accordingly, the entire geographic areacan be accommodated with just two channel maps, each channel map beingaccompanied by a unique channel map identifier. To determine theappropriate channel map identifier, a “channel map selection” packetcorrelating the channel map identifiers to the zip codes is sent fromthe physical host. The channel map selection packet is used to identifythe appropriate channel map identifier in response to a viewer inputtedzipcode.

[0043] Turning to FIG. 7, an exemplary broadcast for the two types ofdata packets described thus far is shown. In this example, a channel mapselection packet 94 having one data block 96, and a channel map datapacket 98 having three channel map blocks 100, 102, 104 are shown. Thethree channel map blocks include a channel map block for Cable Co. A,Cable Co. B 102, and an OTA broadcast 104. To illustrate the processimplemented by the Channel Map Decoder, consider a viewer located in thegeographic area having a zipcode 90300 who subscribes to a cableservice. In this example, the Channel Map Decoder scans through thechannels to locate the channel map selection packet 94 transmitted inthe VBI portion of the television signal. This is accomplished bysetting the tuner to a fixed frequency with the microcontroller andextracting the data transmitted in the VBI portion with the VBI decoder48. The microcontroller then searches for the appropriate start code(07)_(HEX), stop code (FF)_(HEX) and the packet type (01)_(HEX). In thisexample, (01)_(HEX) represents a channel map selection packet and(02)_(HEX) represents a channel map packet. If the Channel Map Decoderfails to detect the proper start code, stop code and data packet type,the tuner will be scanned to a new fixed frequency. In the event thatthe Channel Map Decoder successfully detects a channel map selectionpacket, then the checksum, in this case (2A)_(HEX), will be verified todetermine whether a transmission error has occurred. Assuming a validchannel map selection packet is detected, the Channel Map Decoder willsearch the channel map selection packet 106 for the channel mapidentifier corresponding to the zipcode 90300. In this case, the ChannelMap Decoder will identify and record (2712)_(HEX).

[0044] Once the channel map identifier is determined, the Channel MapDecoder searches the remaining blocks of data for the proper start code,stop code, and data packet codes for channel map packets. The properdate packet code for channel maps is (02)_(HEX). In this case three datapackets qualify, one for Cable Co. A 100, one for Cable Co. B 102, andone for the OTA broadcast 104. Note that since each data block includesinformation pertaining to the number of blocks in the data packet 107,the channel map controller can readily ascertain when all the channelmap blocks within the data packet have been identified. Once all thechannel map blocks have been identified, the microcontroller will locatethe data block having the appropriate channel map identifier, in thisexample (2712)_(HEX), and assuming a valid checksum, download the entirechannel map 108 into memory.

[0045] As discussed above, the channel map 108 relates the televisionstation call letters to their respective channel allocations. Thesetelevision station call letters typically comprise four letters, eachrequiring two bytes of data, and therefore occupy a significant portionof the bandwidth. Moreover, these television station call letters arerepeatedly transmitted in each channel map block resulting inunnecessary data redundancy. Accordingly, it would be desirable toreduce the volume of data transmitted by the physical host byeliminating the transmission of the television station call letters.This can be achieved by transmitting a third data packet from thephysical host known as a “source map” packet. The source map packetcontains information relating the call letters of each televisionstation to a reference number, hereinafter referred to as a guidechannel (“GCH”). Consequently, the television station call letters wouldno longer be required to be transmitted with each channel map. Rather,the channel map could be transmitted with GCH numbers correlating to thechannel allocations and merged with the source map at the Channel MapDecoded. An example of a source map 110, a channel map 112 for Cable Co.B, and a final merged channel map 114 is shown in FIG. 8. Note that thefinal merged channel map in FIG. 8 is identical to the channel map forCable Co. B in FIG. 1.

[0046] An attractive feature of this approach is that the transmissionof the GCH numbers from the physical host can be entirely eliminated.This can be achieved by programming the Channel Map Decoder to recordthe television station call letters of the source map and the televisionchannel allocations of the channel map in sequential GCH number order.In other words, with respect to the source map, the television stationcall letters corresponding to GCH 1 is always transmitted first in theserial data stream, followed by the television station call letterscorresponding to GCH 2, and so on. Similarly, with respect to thechannel map, the television channel allocation corresponding to GCH 1 istransmitted first followed by the television channel allocation for GCH2. With this approach, the channel map can be easily constructed bysimply recording in order the television station call letters from thesource map packet in one row 116 and recording in order the televisionchannel allocations from the channel map packet in an adjacent row 118as shown in FIG. 9.

[0047] The use of a source map packet clearly provides improvedbandwidth performance of the network distribution system. However, as apractical matter, a single source map cannot be used to service theentire nation, even if the source map packet were transmitted tonationwide viewers through multiple physical hosts. This limitationbecomes apparent when one considers the sheer number of televisionstations operating throughout the country. Moreover, since any givengeographic area only transmits a fraction of those television stations,one source map packet would be an incredibly inefficient way toimplement the described embodiment. Accordingly, a separate source mappacket must be generated for each geographic area. Accompanying eachsource map is an address tag (“host identifier” or “HOSTID”) whichuniquely identifies each source map. Preferably, the HOSTID correspondsto a geographic area, such as a zipcode or group of zipcodes. To thisend, a fourth data packet known as a “host assignment” packet isgenerated and transmitted by physical host. The host assignment packetserves to identify the appropriate source map for a given geographicalarea in a similar manner described above with reference to the channelmap identifier. However, the grouping profile of source map packetgenerally differs from that of the channel map packet. This is because afairly large geographic region, or even a whole city, can be covered bya single source map. In contrast, the geographic region applicable toany one channel map is limited by the territorial coverage of itsrespective television service. Accordingly, a single geographic regioncovered by a HOSTID may include several different channel maps. By wayof example, the geographic areas defined by the zipcodes 90000-90100,90210, and 90300-90400 may be served by a single source map having aHOSTID. Within these zipcode regions, however, Cable Co. A may serve the90210 zipcode and Cable Co. C may serve the 90300 zipcode. Each cablecompany would have its own channel map with a unique channel mapidentifier, however, the entire region could be covered under the sameHOSTID.

[0048] OTA broadcasters, on the other hand, generally serve a much widergeographic region. Typically, a single OTA broadcaster will serve theentire geographic region defined by the HOSTID. Accordingly, Channel MapDecoders operating in OTA broadcast systems can be programmed tocalculate the channel map identifier directly from the HOSTID andthereby eliminate the need to locate and process the channel mapselection packet. This increases the overall speed of the system.

[0049] The system distribution network described thus far is well suitedto provide coverage for the majority of the nation. However, in moredensely populated metropolitan areas, such as New York and Los Angeles,where the number of different zipcodes is extremely high, the bandwidthlimitations may adversely impact the data repetition rate at which thesource map packets and channel map packets can be transmitted.Accordingly, in these densely populated areas, the concept of a “logicalhost” is introduced to minimize the impact of the bandwidth limitationsand reduce the potential for data redundancy. The logical host is anabstract or conceptual host responsible for serving channel mapinformation to a particular group of viewers identified by the sameHOSTID. In these densely populated areas, it is desirable to divide thecity area into multiple groups, each served by a different logical host.The logical hosts could then be allotted between two or more physicalhosts thereby reducing the volume of data that would otherwise berequired if a single physical host were used. Conversely, a singlenational physical host can carry multiple logical hosts to numerousrural or sparsely populated areas thereby reducing the number ofphysical hosts required to serve the United States.

[0050] The logical host concept is best understood with reference toFIG. 10. In this example, there are two OTA broadcast stations employedas physical hosts, KABC 120 and KCET 122. The network distributionsystem is simplified by assuming there are no national physical hosts.The entire Los Angeles area is split into a western region 126 and aneastern region 128 by a dividing line 124. The western region 126 isserved by KABC and the eastern region 128 is served by KCET. Eachphysical host station is further divided into two logical hosts bydividing the western and eastern regions into northern and southernregions. Accordingly, there are four logical hosts serving the entireLos Angeles area. The appropriate logical host for any particularzipcode can be ascertained by searching the host assignment packets 130,132 until a match is found between the viewer zipcode and a zipcodecontained in the packet. Referring to the host assignment packets setforth in tabular form, all zipcodes in the northwest region 134 areserved by physical host KABC and logical host 0407_(HEX), all zipcodesin the southwest region 136 are served by physical host KABC and logicalhost 0427_(HEX), all zipcodes in the northeast region 138 are served byphysical host KCET and logical host 0467_(HEX), and all zipcodes in thesoutheast region 140 are served by physical host KCET and logical host0447_(HEX). In summary, the entire Los Angeles area is served by twophysical hosts with each physical host carrying two logical hosts.

[0051] In some network distribution schemes, it may be desirable to haveoverlapping logical hosts in a given geographic area. For example,assume that all viewers located in the zipcode range of 91300-91432,with the exception of viewers in the 91356 zipcode, receive the samechannel map. With this arrangement, the host assignment packet wouldcorrelate a HOSTID to a code representative of the zipcode ranges“91300-91355 and 91357-91432.” Of course, the volume of data in the hostassignment packet could be reduced if the zipcode range were simply“91300-91432.” This, however, would result in viewers in the 91356zipcode identifying two logical hosts. Accordingly, optimal packaging ofzipcodes could be achieved if an means for arbitrating multiple hostswere implemented. To this end, a priority bit is embedded in the HOSTID.For example, a priority bit of “0” may be included in the HOSTIDassigned to the zipcode range of 91300-91432. A priority bit of “1” maybe included in the HOSTID assigned to the 91356 zipcode. A Channel MapDecoder operating in the 91356 zipcode would be programmed to recognizeboth HOSTID's and select the second because of its higher priority. TheChannel Map Decoders operating outside the 91356 zipcode would selectthe former as the HOSTID because it is the only HOSTID assigned.Preferably, four levels of priorities are established using two prioritybits to provide greater versatility in designing the broadcastdistribution network.

[0052] It will be appreciated from the foregoing description that thebroadcast distribution network can have numerous applications inaddition to the channel mapping features described thus far. Forexample, data packets can be created at the physical host fortransmitting, by way of example, an electronic television program guide.This concept facilitates the selection of television programs to bewatched by the viewer. In other words, if an electronic televisionprogram could be downloaded from the physical host, the viewer would nolonger need to make program selections by scanning the televisionchannels or consulting a television program guide published as a hardcopy. Instead, the program listings could simply be recalled from memoryby the viewer for display on the television monitor and selected with acursor for viewing or recording. An example of such an electronictelevision program guide is disclosed in U.S. patent application Ser.No. 08/475,395 filed Jun. 7, 1995, which is incorporated herein byreference as though set forth in full.

[0053] Due to the immense bandwidth requirements of the electronicprogram guide, however, it cannot feasibly be transmitted around theclock without adversely impacting the data repetition rate of thechannel mapping information. Accordingly, the electronic televisionprogram guide, or other similar informational data packets, must betransmitted only at scheduled broadcast times. To facilitate thisprocess, it would be useful to know the times the desired data packetsare broadcasted. This information can be ascertained through a “hostschedule” packet transmitted with the channel mapping information by thephysical host. An exemplary host schedule packet in tabular form isshown in FIG. 11. Each host schedule packet is preferably dedicated to aspecific geographic area and packaged in individual data blocksaccompanied by the appropriate HOSTID. For example, if the viewer is inthe geographical area served by the logical host identified by0407_(HEX), then the electronic program guide will broadcast at 10:30A.M. and again at 7:00 P.M.

[0054] The use of a host schedule packet requires that themicrocontroller be equipped with an internal clock. Moreover, it wouldbe desirable if the internal clock could be continuously reset to avoiddrift and maintain accuracy. Accordingly, a clock data packet containingthe current date and time is generated by the physical host andtransmitted along with the channel mapping information. Preferably, asingle standard reference time “Universal Time Code” or “UTC” istransmitted throughout the United States. This approach further enhancesbandwidth performance since a single clock data packet can serve theentire nation without the need for any additional addressing or coding.The UTC in the clock data packet is converted to the applicabletimezone, i.e., Eastern Standard Time, Mountain Standard Time, CentralStandard Time, Pacific Standard Time, at the Channel Map Decoder througha “timezone” data packet which is also transmitted with the channelmapping information in the VBI portion of the television signal.Preferably, the timezone packet provides a listing of timezones fordifferent zipcode areas, or alternatively for different HOSTIDs. Inaddition, a daylight savings bit may be included in the data packet toeliminate the need to change the data contents of the timezone packetthroughout the year.

[0055] The network distribution system described thus far providesefficient and economic packaging of channel mapping information fordistribution nationwide. However, it will be appreciated that numerousgeographic areas throughout the country will be served by two or morecable companies. Moreover, each cable company may offer both a cableready service and a cable box service, each having a unique channel map.Finally, each geographic area served by one or more cable companies mayalso be served by one or more OTA broadcasters. FIG. 12 illustrates atypical broadcast distribution network in a portion of the Los Angelesarea. In this example, the geographic areas covered by the zipcode rangeof 90000-90050 and 90300 are served by Cable Company C 142. In addition,the viewer located in zipcode 90300 has subscribed to a cable boxservice 146 offered by Cable Co. C 142. Accordingly, the geographic areacovered by these zipcodes will have a single OTA broadcast channel map,a single cable channel map, and a single cable box channel map. Incontrast, the 90210 zipcode is served by Cable Co. A 144 and Cable Co. B146, and therefore will have a single OTA broadcast channel map and twocable channel maps. Accordingly, the Channel Map Decoder must beequipped with a means for discriminating between an OTA broadcast,multiple cable ready signals, and a cable box signal.

[0056] The initial step in this discrimination process is to determinewhether the television transmission is an OTA broadcast or a cablesignal. This can be accomplished by monitoring the known RF spectrumallocations for the local area as the frequency spectrum is swept by thetuner. By way of example, it is conventional in the television industryto allocate OTA broadcast stations in the VHF band on alternatingchannels to minimize interference. For example, in the Los Angeles area,CBS is assigned to channel 2, NBC is assigned to channel 4, and channel3 is not used. Cable television systems, on the other hand, do notentail OTA transmissions, but rather encompass a system wherebytelevision transmissions are distributed to subscribers by a series ofamplifiers and coax cables. The cable television systems generallyoccupy the same VHF and UHF bands as the OTA broadcast except that theelectrical characteristics of the transmissions can be more tightlycontrolled thereby eliminating the need for channel assignmentseparation. As a result, the allocation of television stations in acable system generally occupy all channels to facilitate maximumcoverage in the available RF spectrum. Thus, a cable signal can bediscriminated from an OTA broadcast by monitoring the local VHF cablechannel of the television transmission that would otherwise be unused ifthe transmission were an OTA broadcast. For example, if a televisionstation is detected on channel 3 in the Los Angeles area, then thetelevision transmission is a cable signal. On the other hand, if thepresence of a television station is not detected on channel 3 in the LosAngeles area, then the television transmission is an OTA broadcast.

[0057] For viewers without cable ready capability, or alternatively, forthose viewers who subscribe to channels having scrambled transmissions,such as HBO, a cable box 146 may be inserted in line between the cableservice 142 and the television receiver 144. The tuning of thetelevision station is performed at the cable box which is equipped witha tunable front end narrow bandpass filter (not shown). A video signalfrom the selected television station is remodulated onto a fixed carrierfrequency at the output of the cable box 146 and coupled to thetelevision receiver 144. The television receiver 144 is tuned to thefixed carrier frequency to receive the television transmission, by wayof example, channel 3 in the Los Angeles area. Thus, in the Los Angelesarea, once a television station's transmission is detected on channel 3,the remaining channels can be scanned to discriminate between a cableready signal and a cable box signal. If no other television stationtransmissions are detected on any other channel across the RF spectrum,then the television transmission is a cable box signal. If, on the otherhand, numerous television stations are detected as the tuner sweeps theRF spectrum, then the television transmission is a cable ready signal.

[0058] This initial discrimination process is dispositive for thegeographic area covered by the zipcodes 90000-90050 and 90300. TheChannel Map Decoders employed by cable viewers in the zipcodes rangingfrom 90000-90050 would be able to successfully download the channel mapfor Cable Co. C subscribers. The Channel Map Decoder used with thetelevision receiver 144 for the viewer residing in the 90300 zipcodewould be able to successfully download the channel map for the cable boxservice offered by Cable Co. C. In addition, the appropriate channel mapcan also be downloaded for all OTA broadcast viewers regardless ofzipcode. However, cable viewers in the 90210 zipcode will requirefurther discrimination to determine whether their provider is Cable Co.A or Cable Co. B.

[0059] To resolve this ambiguity, a channel map selection matrix (“CMSmatrix”) is transmitted in the channel map selection packet to eachgeographic area having two or more cable services. An exemplary channelmap selection packet in tabular form for the geographic areas in FIG. 12is shown in FIG. 13. Since the zipcode area covered by 9000-900050 and90300 has only one cable service, the appropriate channel mapidentifier, 2714_(HEX), can be extracted by the Channel Map Decoderdirectly from the table. In contrast, a CMS matrix 148 is transmittedwith zipcode 90210. The CMS matrix provides several or all of thechannel map pairs for each cable service in the area. Thus, if the GCHnumbers can be ascertained as the channels are scanned, then it may bepossible to construct a portion of the channel map and reject channelmaps in CMS matrix 148 that are inconsistent.

[0060] To determine the GCH numbers, this information must be includedin a data packet. In a preferred embodiment, a current GCH bit isincluded in the host schedule packet. An exemplary host schedule packethaving a current GCH bit with the Channel Map Decoder tuned to GCHnumber 5 is shown in tabular form in FIG. 14. The current GCH bit isused to indicate the GCH number of the television channel that the VCRor television receiver is currently tuned. By way of example, consider aviewer in the zipcode 90210 subscribing to Cable Co. B and having alogical host transmitting channel map information over KABC. When theviewer initiates the downloading process, the Channel Map Decoder willscan the RF spectrum in search of the logical host. In this case, thelogical host will be found on channel 3, (see FIG. 1), and theapplicable HOSTID, 0407_(HEX) (see FIG. 10), will be recorded in theChannel Map Decoder from the host assignment packet. The Channel MapDecoder will then search the host schedule packets without regard to theapplicable HOSTID for the current GCH bit. Referring to FIG. 14, thecurrent GCH bit is set to a logic “1” for GCH number 5. In other words,the GCH number of the logical host that is currently tuned in by theChannel Map Decoder is 5. As a result of this information, the ChannelMap Decoder can establish the channel map pair:

[0061] GCH 5 Television Channel 3

[0062] The Channel Map Decoder will continue to scan the RF spectrum insearch of multiple logical hosts. When the tuner is tuned to KCET,channel 29 (see FIG. 1), the Channel Map Decoder will detect additionalhost schedule packets and record the current GCH bit, in this case thecurrent GCH bit is set to a logic “1” for GCH number 28 (not shown).Accordingly, a second channel map pair can be established:

[0063] GCH 28 Television Channel 29

[0064] This channel mapping pair information is very useful in resolvingthe CMS matrix. Referring back to the channel map selection packet ofFIG. 13, only the channel map for Cable Co. B is consistent with thechannel map pairs generated by the Channel Map Decoder. The channel mapfor Cable Co. A can be rejected because the channel map pair correlatingGCH number 28 to television channel 28 from the CMS matrix is simplyinconsistent with the channel map pair correlating GCH number 28 totelevision channel 29 established by the Channel Map Decoder. Thus, themicrocontroller can identify Cable Co. B as the television servicesubscribed to by the viewer and proceed to download the channel mapaccompanied by the channel map identifier 2712_(HEX).

[0065] Further discrimination may performed by monitoring any XDS(“Extended Data Service”) data. Under the Extended Data Servicesproposed in the Recommended Practice for Line 21 Data Service,Electronics Industries Association, EIA-608 (drafts Oct. 12, 1992 andJun. 17, 1993), the subject matter of which is incorporated herein byreference, additional standardized data may be provided in line 21,field 2 of the vertical blanking interval. This recommended practiceincludes two closed captioning fields, two text mode fields and theextended data services. The extended data includes, among otherinformation, program name, program length, length into program, channelnumber, network affiliation, television station call letters, UCT(universal coordinated time) time, time zone, and daylight savings timeusage. Accordingly, by utilizing the television station call letters,the Channel Map Decoder can determine the corresponding GCH number usingthe source map packet and establish additional channel map pairs in muchthe same manner as described above using the host schedule packets.

[0066] It will be appreciated that a condition may arise where theresolution of the CMS matrix results in two or more channel maps. Inthese situations, more channel map information is required to completethe channel map discrimination process. To resolve this problem, thesuccess rate of automated CMS matrix resolving can be increased byprogramming the Channel Map Decoder to evaluate both the host schedulepacket and XDS data. Alternatively, the number of physical hosts or thenumber of channels carrying XDS data can be increased. Of course, ifevery channel were designated as a physical host, then the entirechannel map could be constructed by collecting all the acquired channelmap pairs. There would be no need to explicitly transmit the channelmaps for each television service. In the rare instance when the CMSmatrix cannot be resolved by constructing channel map pairs, the CMSmatrix could then be presented to the television monitor and theappropriate channel map could be manually selected by the viewer.Alternatively, the viewer may be requested to tune to a particulartelevision station, i.e., HBO, and the Channel Map Decoder can thenascertain additional channel map pairs by extracting the GCH number forthat television station from the source map and correlating that numberto the tuned in television channel. This process can continue by tuningin additional channels until a number of channel map pairs sufficient toidentify a single channel map in the CMS Matrix is established.

[0067] In the above example, a single OTA broadcaster serves the entiregeographic area and the channel map identifier can be calculateddirectly from the HOSTID. However, if the exemplary geographic regionwere served by multiple OTA broadcasters, a CMS matrix would then needto be resolved in much the same manner described with respect to themultiple cable channel maps above. To circumvent the process ofconsulting the channel map selection packet to determine whether a CMSmatrix exists for an area served by a single OTA broadcaster, it isdesirable to include a Multi-OTA bit in the host assignment packet. Anexemplary host assignment packet employing this concept is shown intabular form in FIG. 15. From this figure, it is apparent that a ChannelMap Decoder operating in the 90210 zipcode and receiving an OTAbroadcast could determine that the area is served by a single OTAbroadcaster by examining the Multi-OTA bit, in this case a logic level“0”, and commence calculating the channel map identifier from the HOSTIDwithout consulting the channel map selection packet. Conversely, aChannel Map Decoder operating in the 95670 zipcode and receiving an OTAbroadcast, would detect a logic level “1” for the Multi-OTA bitindicating the presence of two or more OTA broadcasters in the area.Accordingly, the Channel Map Decoder would then need to consult thechannel map selection packet to resolve the CMS matrix beforedownloading the appropriate channel map.

[0068] Turning to FIG. 16, an electrical block diagram of a preferredembodiment of the Channel Map Decoder is shown. Preferably, a singlechip 8-bit microcontroller 200, hereinafter referred to as the “channelmapping microcontroller,” is used to implement the channel mappingfunction. The chip core is a microprocessor, such as a 68HC05CCV fromMotorola with 512 byte internal Ram, 12K byte ROM, and a VBI decoder.This chip can embedded into any VCR or television. Alternatively, thechannel map decoding functions can be implemented and coded into theexisting microcontroller in the VCR or television, provided the systemhas a VBI decoder.

[0069] The channel mapping microcontroller 200 is coded to perform allthe channel mapping functions described above. Thus, the manufacturer ofthe television receiver or VCR need only insert the channel mappingmicrocontroller 200 into their system, establish communication betweenthe existing microcontroller 202 and the channel mapping microcontroller200, and code the specific control protocol. Once set, the channelmapping microcontroller 200 will operate under complete control of theexisting or main microcontroller 202. Upon completion of the channelmapping process, the channel mapping microcontroller transfers thechannel map and the clock to the main microcontroller 202 for storing ininternal memory (not shown), and clears its own internal memory (notshown). By storing the ultimate channel mapping information in the mainmicrocontroller 202, the amount of memory required by the channelmapping microcontroller can be minimized.

[0070] Preferably, the main microcontroller 202 is also a 68HC05CCV fromMotorola. In this configuration, the two microcontrollers can interfacethrough a standard four pin Serial Peripheral Interface (“SPI”) bus 204with a specific protocol. SPI is an interface used by Motorola'smicrocontroller to allow several SPI microcomputers, or SPI-typeperipherals to be interconnected. The SPI bus 204 includes a separateline for data transmission and a separate line for the clock. The SPIsystem is particularly attractive for the channel mapping functionbecause the system is designed to operate with one mastermicrocontroller controlling one or more slaves. Ideally, themicrocontroller 202, the channel mapping microcontroller 200, and otherperipheral devices can be configured as a single-master-multi-slavesystem, in which the channel mapping microcontroller 200 is one of theslave devices. A detailed specification of the SPI bus is disclosed inthe “MC68HC05/705CCV—Product Specification” from Motorola and isexpressly incorporated herein by reference as though set forth in full.

[0071] The main microcontroller 202 provides tuning control of a VHF/UHFtuner 206. The tuner 206, which can be any conventional tuner in theart, is generally implemented with an RF amplifier 208 positioned at thefront end of the tuner 206 for receiving the television signal. The RFamplifier 208 should provide initial amplification with good noisefigure performance. The output of the RF amplifier 208 is downconvertedto an intermediate frequency (IF) by a variable local oscillator (LO)signal at mixer 210. A low pass narrow-band filter 212 is connected atthe output of the mixer 210 for passing the difference frequency (IFfrequency) of the selected channel. The output of the low passnarrow-band filter 212 is coupled to an IF demodulator 214 forextracting the base band video signal from the IF carrier frequency.

[0072] An example of a suitable tuner is a FI1236 tuner manufactured byPhillips Components. The main microcontroller 202 can be programmed tointerface with the FI1236 tuner through an inter-IC or I²C-bus. TheI²C-bus is a bidirectional 2-wire bus owned and licensed by PhillipsComponents. The two wires include a serial data line and a serial clockline for carrying tuning information between the main microcontroller202 and the tuner 206.

[0073] The FI1236 tuner includes an RF section and an IF sectiontogether on a single printed circuit board. Accordingly, optimalpackaging of electronics can be achieved since the tuning,downconversion and demodulation may be performed in the same package.Tuning and bandwidth switching is performed with a conventional digitalprogramming phase lock loop tuning system for controlling the variablelocal oscillator.

[0074] The selected channel at the output of the tuner 206 is coupled tothe channel mapping microcontroller and to a sync pulse extractor 216.The sync pulse extractor provides filtering of the composite base bandvideo signal and passes the horizontal and vertical sync pulses toseparate outputs. The horizontal and vertical sync pulses are coupled tothe channel mapping microcontroller 200. The sync pulses synchronize thechannel mapping microcontroller 200 to the base band video signal. Thesync pulse extractor may be any conventional device known in the art, byway of example, a LA7218 manufactured by Sanyo Semiconductor Company.

[0075] The horizontal sync pulse at the output of the sync pulseextractor is also coupled to a detector 218 to determine the stabilityof the horizontal sync pulse. By determining the stability of thehorizontal sync pulse, the main microcontroller 202 can determinewhether a television station has been allocated to that particularchannel in the RF spectrum selected by the tuner 206. This determinationcan be used by the main microcontroller 202 to discriminate between anOTA, a cable ready signal, or a cable box signal.

[0076] The detector 218 can be any conventional device known in the art.A cost effective approach for constructing the detector 218 is with aretriggerable one-shot device. The time constant of the one-shot is setfor a period greater than the horizontal scan rate so that the one-shotoutput remains triggered when the tuner is tuned to a channel that hasbeen allocated to a television station. In other words, when thetelevision receiver is tuned to a television station, the horizontalsync pulse is stable and the one-shot output remains at a substantiallyconstant output voltage because the one-shot is continuously retriggeredby the horizontal sync pulse prior to timing out. Conversely, if thetuned channel is not one allocated to a television station, thehorizontal sync pulse will be asynchronous resulting in random time-outsof the one-shot output. Accordingly, the main microcontroller 202 candetermine whether the channel currently tuned in is one in which atelevision station has been allotted by simply monitoring the output ofthe one-shot for a constant voltage.

[0077] Preferably, a remote control unit 220 is provided for usercontrol of the system. The remote control unit 220 has an infrared(“IR”) transmitter which emits a wide band IR signal to an IR detector(not shown) on the main microcontroller 202 in response to a usercommand. The remote control unit 220 allows the user to select thechannel mapping function by merely depressing a key on the unit. Thechannel mapping select signal is transmitted to the main microcontroller202 through the IR interface and initiates the channel mapping programstored in internal memory.

[0078] The channel mapping program is best understood with reference tothe flow diagrams of FIGS. 17-19. Turning to FIG. 17, once the channelmapping SELECTION 300 is made by the viewer, the main microprocessorwill cause the television monitor to prompt the viewer to ENTER theZIPCODE 302. Once the zipcode is successfully transmitted to the mainmicrocontroller through the IR interface, the main microcontroller willenter into a television transmission SOURCE DETECTION 304 routine. Ifthe main microcontroller determines that the television transmissionsource is a CABLE BOX SIGNAL 306, a set of IR codes stored in the mainmicrocontroller is transmitted to an IR detector (not shown) in thecable box through an RF blaster (not shown) to SET the IR CODES 308which are compatible with the cable box in use by means known in theart. This step is necessary to give the main microcontroller controlover the tuner in the cable box so that the RF spectrum can be swept tolocate channel mapping information. Once the proper IR codes are loadedinto the cable box, or alternatively, if the main microcontrollerdetermines that the television transmission is an OTA broadcast or acable ready signal, then the main microcontroller enters into a CHANNELMAP DOWNLOAD routine 310. Once the channel map is downloaded, the mainmicrocontroller surrenders control of the tuner to the viewer.

[0079] Preferably, the channel map will be continuously updated by theChannel Map Decoder. Once the initial channel map has been downloadedinto memory, the Channel Map Decoder will enter into a WAIT 312 mode.After a predetermined time, the Channel Map Decoder will determinewhether the TELEVISION RECEIVER IS IN USE 314. In the event that thetelevision receiver is currently in use, the Channel Map Decoder willre-enter into the WAIT 312 mode. Only when the television receiver isnot in use, so as not to disturb the viewer as the television channelsare scanned for channel mapping information, will the Channel MapDecoder repeat the execution of the channel mapping program.

[0080] Turning to FIG. 18, a flow diagram for the TELEVISIONTRANSMISSION SOURCE DETECTION 304 routine is shown. The program beginswith a CHANNEL INITIALIZATION 400 routine which selects an initialchannel and generates an output representative of the initial channelhaving an I²C-bus protocol. The initial channel is preferably the localVHF cable channel, by way of example, channel 3 in the Los Angeles area.In the described embodiment, a CH3/CH4 switch 222 (see FIG. 16) ismounted to the television chassis and coupled to the mainmicrocontroller to identify the local VHF cable channel. The CH3/CH4switch 222 is manually set be the viewer.

[0081] The program then proceeds to a HORIZONTAL SYNC PULSE STABILITY402 routine wherein an input signal is monitored to determine whetherthe horizontal sync pulse is stable in time. In the describedembodiment, a stable horizontal sync pulse is detected if the inputsignal from the output of the one-shot has a constant voltage level fora predetermined time. If random pulses are detected on the input signal,the main microcontroller determines that the horizontal sync pulse isunstable and therefore a television station has not been allocated tothis channel. Based on the absence of a television station on the localVHF cable channel, the main microcontroller determines that thetelevision transmission is an OTA BROADCAST 404. If a stable horizontalsync pulse is detected the television transmission is not an OTAbroadcast so the program then enters into a CHANNEL SCAN 406 loopwherein the VHF and lower band UHF channels, preferably channels 2-29,are sequentially stepped through to determine the number of televisionstations allocated in the particular television transmission. It will beunderstood, however, by those skilled in the art, that the CHANNEL SCAN406 loop can be implemented by scanning the VHF and lower band UHFchannels in any sequence. The CHANNEL SCAN 406 loop comprises thefollowing routine.

[0082] A CHANNEL SELECT 408 routine is entered wherein the channelhaving the lowest frequency band that has not been previously selectedis selected and outputted in a standard I²C-bus protocol. The HORIZONTALSYNC PULSE STABILITY 410 is monitored to determine whether thehorizontal sync pulse is stable. A stable horizontal sync pulseindicates that a television station has been allocated to the selectedchannel. The ACCUMULATOR 412 routine, which is initially cleared duringthe CHANNEL INITIALIZATION 400 routine, accumulates the number ofchannels having a stable horizontal sync pulse during the CHANNEL SCAN406 loop. A COMPARISON 414 routine is entered wherein the number oftelevision station allocations in the particular televisiontransmission, as determined by the ACCUMULATOR 412 routine, is comparedto a threshold number. If such television station allocations exceed thethreshold number, the program exits from the CHANNEL SCAN 406 loop anddetermines that the television transmission is a CABLE READY SIGNAL 416.If such television station allocations do not exceed the threshold, themain microcontroller enters into a CONTINUE CHANNEL SCAN 418 routine todetermine whether all the VHF and lower band UHF channels have beenselected in the CHANNEL SCAN 406 loop. The CONTINUE CHANNEL SCAN 418routine causes the program to branch back to the CHANNEL SELECT 408routine if all the channels have not been selected. Conversely, if allthe channels have been selected, the program exits from the CHANNEL SCAN406 loop and determines that the television transmission is a CABLE BOXSIGNAL 120.

[0083] In theory, once a stable horizontal sync pulse is detected in theCHANNEL SCAN 406 loop, a determination can be made that the televisiontransmission is not a cable box signal since the base band video signaloutput of the cable box is modulated onto a single fixed channel, by wayof example, channel 3 in the Los Angeles area. However, certainpractical considerations dictate that the threshold number should begreater to increase the accuracy of detection.

[0084] The primary consideration is to ensure that the threshold numberbe high enough to minimize the effects of OTA broadcast interference.OTA broadcasts occupying the VHF bands present a real problem forreliably discriminating between a cable ready signal and a cable boxsignal. This is mainly due to the power level of VHF transmissions whichmay result in the parasitic coupling of composite video signals into thesystem. Of course, known filtering and shielding techniques can beimplemented to avoid this problem thereby reducing the threshold numberdown to as low as one. However, these techniques are rather complex andmay drive the overall cost of the system to a point where it is nolonger economically feasible. Accordingly, it is more prudent to simplyincrease the threshold number of stable horizontal sync pulses requiredas the cable channels are scanned to compensate for this interferencepotential. In the described embodiment, six or less stable sync pulsesis optimal to determine that the cable signal is a cable box signal.

[0085] Once the particular television service subscribed to by theviewer is determined, and the appropriate zipcode is entered intomemory, the Channel Map Decoder is ready to locate and download theappropriate channel map transmitted from the physical host. This processis implemented by the CHANNEL MAP DOWNLOAD routine 310 stored in themain microcontroller. Referring to FIG. 19, the main microcontrollerenters in a CHANNEL INITIALIZATION 500 routine which selects an initialchannel and generates an output representative of the initial channelhaving an I²C-bus protocol. Once the selected channel is tuned, the mainmicrocontroller commands the channel mapping microcontroller, via theSPI bus, to SEARCH THE VBI 502 for data. In the event that the channelmapping microcontroller is unable to locate any data in the VBI, themain microcontroller will enter into a CHANNEL SCAN routine 503 insearch of VBI data.

[0086] Once the CHANNEL SCAN routine 503 is invoked, the mainmicrocontroller will cause the tuner to TUNE TO THE NEXT CHANNEL 504 andthe channel mapping microcontroller will perform another VBI SEARCH 506on the newly selected channel. Preferably, the main microcontroller willscan the channels sequential, however, it will be understood by thoseskilled in the art that the channels may be scanned in any order.

[0087] In the event that the channel mapping microcontroller detectsdata in the VBI, either after the CHANNEL INITIALIZATION 500 routine orafter tuner is tuned to a different channel 504, the channel mappingmicrocontroller determines whether the data is CHANNEL MAPPINGINFORMATION 508. This requires that the channel mapping microcontrollerinitiate a validation process which includes confirming the proper datapacket format, i.e., the start and stop code and the checksum. If thechannel mapping microcontroller determines that the VBI data is channelmapping information, then the channel mapping microcontroller willattempt to LOCATE THE HOST SCHEDULE PACKET 510, and RECORD THE CURRENTGCH NUMBER 512. Subsequently, the channel mapping microcontroller willattempt to LOCATE THE HOST ASSIGNMENT PACKET 514. Once the hostassignment packet is located, the channel mapping microcontroller willsearch for HOSTIDs correlating to its zipcode, and if successfullylocated, the microcontroller will RECORD THE HOSTIDs and theaccompanying MULTI-OTA BITs 516. Once the host assignment packet issearched and the proper information recorded in memory, oralternatively, if the Channel Map Decoder determines that there is nochannel mapping information present in the VBI 508, then the Channel MapDecoder will look to VBI line 21 field 2 to locate any XDS DATA 518 andRECORD any XDS DATA 520 found.

[0088] Once the HOSTID or HOSTIDs from the host assignment table and theXDS data are recorded in memory, the Channel Map Decoder enters backinto the CHANNEL SCAN 503 routine to scan the remaining channels forchannel mapping information or XDS data. The main microcontrollerdetermines whether ALL THE CHANNELS HAVE BEEN SCANNED 522. In the eventthat all the channels in the RF spectrum have not been scanned, theChannel Map Decoder tunes to the next channel 504. Conversely, if allthe channels have been scanned, the Channel Map Decoder exits theCHANNEL SCAN routine 503.

[0089] The initial inquiry after all the channels have been scanned forchannel mapping information and XDS data is whether MULTIPLE HOSTIDs 524have been identified. If only one HOSTID has been detected, then theChannel Map Decoder TUNES TO THE LOGICAL HOST 526 identified by thatHOSTID. Conversely, if multiple HOSTIDs have been detected, the ChannelMap Decoder executes a HOST ARBITRATION 528 routine to determine thehighest priority HOSTID assigned to the particular zipcode of theviewer. Once the highest priority HOSTID is successfully arbitrated, theChannel Map Decoder TUNES TO THE TOP PRIORITY LOGICAL HOST 530.

[0090] Once tuned to the appropriate logical host, the Channel MapDecoder will attempt to LOCATE THE CLOCK PACKET AND TIMEZONE PACKET 531and DOWNLOAD THE UTC CLOCK AND ADJUST THE TIME 533. The Channel MapDecoder will then attempt to LOCATE THE SOURCE MAP PACKET 532, andDOWNLOAD THE SOURCE MAP 534 into memory. In the event that the ChannelMap Decoder has identified an OTA BROADCAST 536 and the MULTI-OTA BIT538 indicates a single OTA broadcaster in the zipcode of the viewer,then the CHANNEL MAP IDENTIFIER 540 can be calculated from the HOSTID.If, on the other hand, the Channel Map Decoder has detected a cabletransmission 536 or multiple OTA broadcasters in the area, then theChannel Map Decoder will attempt to LOCATE THE CHANNEL MAP SELECTIONPACKET 540, and determine whether MULTIPLE CHANNEL MAPS 542 exist forthe particular zipcode of the viewer. In the event that multiple channelmaps are detected, the Channel Map Decoder will EXTRACT THE CMS MATRIX544 from the channel map selection packet and attempt to RESOLVE THE CMSMATRIX 546. If the CMS matrix cannot be resolved, then the Channel MapDecoder will LOOK UP THE GCH NUMBER FOR ANY XDS DATA 548 in the sourcemap to further attempt to RESOLVE THE CMS MATRIX 550. It is contemplatedthat an appropriate number of physical hosts or channels carrying XDSdata will be employed to assure resolution of the CMS matrix at thispoint in the flow diagram. However, in the event that resolution cannotbe ascertained based on the channel mapping information and the XDS datacurrently stored in memory, the CMS matrix will be displayed on thetelevision monitor and the user will be prompted to make a USERSELECTION 552.

[0091] Regardless of the method of CMS matrix resolution, the ChannelMap Decoder will record the resultant CHANNEL MAP IDENTIFIER 554, andDOWNLOAD THE CHANNEL MAP 556 into memory. If the Channel Map Decoderdetects a single channel map 542, then the CHANNEL MAP IDENTIFIER 550may be recorded directly from the channel map selection table and thechannel map DOWNLOADED 556 without CMS resolution. Finally, if theChannel Map Decoder is able to calculate the channel map identifierdirectly from the HOSTID 540, then the channel map can be DOWNLOADED 556without consulting the channel map selection packet at all. Once thechannel map is downloaded, the Channel Map Decoder MERGES THE SOURCE MAPINTO THE CHANNEL MAP 558 to provide mapping between the channelallocations in the RF spectrum and the call letters of the televisionstations.

[0092] It is apparent from the foregoing that the present inventionsatisfies an immediate need for a system and method for automating thedownloading of channel maps. The features of this channel mapping systemmay be embodied in other specific forms and used with a wide variety oftelecommunication services, without departing from the spirit oressential attributes of the present invention. It is, therefore, desiredthat the present embodiment be considered in all respects asillustrative and not restrictive, reference being made to the appendedclaims rather than the foregoing description to indicate the scope ofthe invention.

What is claimed is:
 1. An apparatus for detecting the source of atelevision transmission, said television transmission including aplurality of television stations, each television station beingallocated to a different channel of a radio-frequency spectrum of thetelevision transmission, the apparatus, comprising: a tuner for passinga selected channel of the television transmission, said tuner having acontrol input for selecting the channel; a detector for detectingwhether one of the television stations has been allocated to theselected channel and generating an output representative of saiddetection; and a microcontroller having an output coupled to the controlinput of the tuner for commanding the tuner to select at least one ofsaid channels, said microcontroller including means for determining thesource of the television signal based on the detector output for each ofthe channels selected.
 2. The apparatus of claim 1 wherein eachtelevision station transmits a video signal including a sync pulse, andwherein said detector detects whether one of the television stations hasbeen allocated to the selected channel based on the stability of thesync pulse.
 3. The apparatus of claim 2 further comprising a sync pulsefor extracting the sync pulse from the video signal, and wherein saiddetector detects whether one of the television stations has beenallocated to the selected channel based on the stability of theextracted sync pulse.
 4. The apparatus of claim 3 wherein said detectorcomprises a one-shot responsive to the extracted sync pulse.
 5. Theapparatus of claim 2 wherein the sync pulse is a horizontal sync pulse.6. The apparatus of claim 1 wherein the microcontroller output is afunction of the detector output.
 7. The apparatus of claim 6 wherein thetelevision transmission is an over-the-air broadcast or a cable signal.8. The apparatus of claim 7 wherein the microcontroller output commandsthe tuner to select an initial channel, and wherein said determiningmeans identifies the television transmission as either the cable signalor the over-the-air broadcast based on whether one of the televisionstations has been allocated to the initial channel.
 9. The apparatus ofclaim 8 wherein said determining means identifies the televisiontransmission as the cable signal if one of the television stations hasbeen allocated to the initial channel, and identifies the televisiontransmission as the over-the-air broadcast if one of the televisionstations has not been allocated to the initial channel.
 10. Theapparatus of claim 9 wherein the microcontroller output commands thetuner to scan a portion of the radio-frequency spectrum of thetelevision transmission in response to an identification by thedetermining means that the television transmission is the cable signal.11. The apparatus of claim 10 wherein the cable signal is a cable readysignal or a cable box signal.
 12. The apparatus of claim 11 wherein themicrocontroller includes means for accumulating the number of thetelevision stations detected by the detector as the tuner is scannedthrough said portion of the radio-frequency spectrum of the televisiontransmission, and wherein said determining means identifies the cablesignal as either the cable ready signal or the cable box signal based onthe number of television stations accumulated.
 13. The apparatus ofclaim 12 wherein the determining means identifies the cable signal asthe cable ready signal if the number of television stations accumulatedexceed six, and identifies the cable signal as the cable box signal ifthe number of television stations accumulated does not exceed six. 14.An apparatus for detecting the source of a television transmission, saidtelevision transmission including a plurality of television stations,each television station being allocated to a different channel of aradio-frequency spectrum of the television transmission, the apparatuscomprising a microcontroller for sampling a portion of theradio-frequency spectrum, and determining the source of the televisiontransmission based on the television station allocations in said portionof the radio-frequency spectrum.
 15. The apparatus of claim 14 whereinthe television transmission is an over-the-air broadcast or a cablesignal.
 16. The apparatus of claim 15 wherein the microcontrollerselects an initial channel of said portion of the radio-frequencyspectrum and determines that the television transmission is either thecable signal or the over-the-air broadcast based on whether one of thetelevision stations has been allocated to the initial channel.
 17. Theapparatus of claim 16 wherein the microcontroller determines that thetelevision transmission is the cable signal if one of the televisionstations has been allocated to the initial channel, and determines thatthe television transmission is the over-the-air broadcast if one of thetelevision stations has not been allocated to the initial channel. 18.The apparatus of claim 17 wherein the microcontroller scans the portionof the radio-frequency spectrum of the television transmission inresponse to a determination by the microcontroller that the televisiontransmission is the cable signal.
 19. The apparatus of claim 18 whereinthe cable signal is a cable ready signal or a cable box signal.
 20. Theapparatus of claim 19 wherein the microcontroller accumulates the numberof the television stations allocated to said portion of theradio-frequency spectrum of the television transmission, and determineswhether the cable signal is either the cable ready signal or the cablebox signal based on the number of television stations accumulated. 21.The apparatus of claim 20 wherein the microcontroller determines thatthe cable signal is the cable ready signal if the number of televisionstations accumulated exceed six, and determines that the cable signal isthe cable box signal if the number of television stations accumulateddoes not exceed six.
 22. A method for determining the source of atelevision transmission, said television transmission including aplurality of television stations, each television station beingallocated to a different channel of a radio-frequency spectrum of thetelevision transmission, comprising the steps of: tuning an initialchannel of the television transmission; and determining whether thetelevision transmission is an over-the-air broadcast or a cable signalbased on whether one of the television stations has been allocated tothe initial channel.
 23. The method of claim 22 wherein the determiningstep comprises the step of determining that the television transmissionis the cable signal if one of the television stations has been allocatedto the initial channel, and determining that the television transmissionis the over-the-air broadcast if one of the television stations has notbeen allocated to the initial channel.
 24. The method of claim 23further comprising the steps of scanning a portion of theradio-frequency spectrum in response to a determination that thetelevision transmission is the cable signal, and detecting whether oneof the television stations is allocated to each of the channels scannedin said portion of the radio-frequency spectrum.
 25. The method of claim24 further comprising the step of accumulating the number of thetelevision stations detected in said portion of the radio-frequencyspectrum scanned.
 26. The method of claim 25 further comprising the stepof deciding whether the television transmission is a cable ready signalor a cable box signal based on the number of the television stationsaccumulated.
 27. The method of claim 26 wherein the deciding steptransmission is the cable ready signal when the number of televisionstations accumulated exceed six, and deciding that the televisiontransmission is the cable box signal when the number of televisionstations accumulated does not exceed six.
 28. An apparatus forgenerating a channel map from data embedded in a televisiontransmission, said television transmission comprising a plurality ofchannels and wherein said data is transmitted on at least one of saidchannels, said data corresponding to a plurality of channel maps andeach channel map having a channel map identifier associated therewith,comprising: a tuner for outputting a selected channel of the televisiontransmission, said tuner having a control input for selecting thechannel; and a microcontroller having an output coupled to the controlinput of the tuner for commanding the tuner to scan at least one of theselected channels and lock on a channel having said data, saidmicrocontroller including means for determining a channel map identifierbased on a geographic location of the apparatus, and means forextracting from said locked channel a channel map corresponding to thedetermined channel map identifier.
 29. The apparatus of claim 28 whereinthe data is transmitted in a VBI of the television transmission, andfurther comprising a VBI decoder for extracting the data in the VBI fromthe channel outputted by the tuner, and coupling the data to saidmicrocontroller.
 30. The apparatus of claim 28 further comprising aremote control unit for entering the geographic location of theapparatus into said microcontroller.
 31. The apparatus of claim 28wherein each of the channel maps in the television transmissioncomprises a map of each of the television channels with a correspondingreference channel.
 32. The apparatus of claim 31 wherein the datafurther comprises a source map of each of the reference channels with acorresponding television station, each source map have a host identifierassociated therewith, the host identifier corresponding to a secondgeographic area of said apparatus, and wherein the determining means ofsaid microcontroller further determines a host identifier based on thesecond geographic location of the apparatus, and wherein the extractingmeans further extracts a source map corresponding to the determined hostidentifier.
 33. The apparatus of claim 32 wherein said microcontrollerfurther comprises means for merging the source map with the channel mapso that each of the television stations corresponds a televisionchannel.
 34. A method for creating a channel map for a televisionreceiver comprising the steps of: broadcasting a television transmissioncomprising a plurality of channels, said television transmission havingdata comprising a plurality of channel maps, each channel map having achannel map identifier associated therewith; determining a channel mapidentifier applicable to the television receiver based on a geographicarea in which the television receiver is located; and extracting achannel map associated with the determined channel map identifier. 35.The method of claim 34 wherein the determining step further comprisesthe step of entering into the television receiver the geographic areacorresponding to the geographic area in which the television receiver islocated.
 36. The method of claim 35 wherein the extracting step furthercomprises the step of scanning the channels of the televisiontransmission to locate the channel map identifier corresponding to thegeographic area entered into the television receiver.
 37. The method ofclaim 36 wherein said broadcasting step further comprises broadcastingthe channel maps wherein each of the channel map comprises mappingbetween the television channel and a corresponding reference channel.38. The method of claim 37 wherein said broadcasting step furthercomprises broadcasting a plurality of source maps, each source mapcomprising a map of each of the television stations to the correspondingreference channel, and having a host identifier associated therewith,each host identifier corresponding to a second geographic area.
 39. Themethod of claim 38 further comprising the step of determining the hostidentifier applicable to the television receiver based on the secondgeographic area, and extracting a source map associated with thedetermined host identifier.
 40. The method of claim 39 furthercomprising the step of merging the extracted source map with theextracted channel map so that each of the television stationscorresponds a television channel.
 41. The method of claim 34 wherein thebroadcasting step further comprises broadcasting a standard time, andfurther comprising the step of adjusting the standard time to one of aplurality of time zones.